Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
array-includes
Advanced tools
A spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.
The array-includes npm package provides a simple utility function for checking if an array includes a certain element, with optional support for the fromIndex parameter. It is a polyfill for the Array.prototype.includes method, which is part of the ECMAScript 2016 (ES7) standard but may not be available in all environments.
Check if an array includes a specific element
This feature allows you to check if an array contains a specific element. It returns true if the element is found, otherwise false.
var arrayIncludes = require('array-includes');
var myArray = [1, 2, 3];
var includesTwo = arrayIncludes(myArray, 2); // true
Check if an array includes a specific element starting from a given index
This feature allows you to check if an array contains a specific element, starting the search from a given index. It is useful when you want to ignore certain elements at the beginning of the array.
var arrayIncludes = require('array-includes');
var myArray = [1, 2, 3, 2];
var includesTwoFromIndex2 = arrayIncludes(myArray, 2, 2); // true
Lodash is a popular utility library that includes a method called _.includes. This method is similar to array-includes but offers additional features such as deep path string checks for objects and is part of a larger utility library.
Underscore is another utility library that provides a method called _.contains (also aliased as _.includes). It is similar to array-includes but is part of a larger set of utility functions for working with arrays, objects, and functions.
A spec-compliant Array.prototype.includes
shim/polyfill/replacement that works as far down as ES3.
Invoke its "shim" method to shim Array.prototype.includes
if it is unavailable.
var includes = require('array-includes');
var assert = require('assert');
var arr = {
1,
'foo',
NaN,
-0
};
assert.equal(arr.indexOf(0) > -1, true);
assert.equal(arr.indexOf(-0) > -1, true);
assert.equal(includes(arr, 0), false);
assert.equal(includes(arr, -0), true);
assert.equal(arr.indexOf(NaN) > -1, false);
assert.equal(includes(arr, NaN), true);
assert.equal(includes(arr, 'foo', 0), true);
assert.equal(includes(arr, 'foo', 1), true);
assert.equal(includes(arr, 'foo', 2), false);
var includes = require('array-includes');
var assert = require('assert');
/* when Array#includes is not present */
delete Array.prototype.includes;
var shimmedIncludes = includes.shim();
assert.equal(shimmedIncludes, includes);
assert.deepEqual(arr.includes('foo', 1), includes(arr, 'foo', 1));
var includes = require('array-includes');
var assert = require('assert');
/* when Array#includes is present */
var shimmedIncludes = includes.shim();
assert.notEqual(shimmedIncludes, includes);
assert.equal(shimmedIncludes, Array.prototype.includes);
assert.deepEqual(arr.includes(1, 'foo'), includes(arr, 1, 'foo'));
Simply clone the repo, npm install
, and run npm test
FAQs
An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.
The npm package array-includes receives a total of 12,145,696 weekly downloads. As such, array-includes popularity was classified as popular.
We found that array-includes demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.